//格式化日期对象
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'formatObjDate',
})
export class FormatObjDatePipe implements PipeTransform {
  transform(value: any, ...args: unknown[]): unknown {
    if(!value||value==='0001-01-01T00:00:00')
      return ''
    return this.Format(new Date(value),args[0]?args[0]+'':null) ;
  }
  Format(value, fmt) {
    //author: meizz
    fmt = fmt || 'yyyy-MM-dd';
    var o = {
      'M+': value.getMonth() + 1, //月份
      'd+': value.getDate(), //日
      'h+': value.getHours(), //小时
      'm+': value.getMinutes(), //分
      's+': value.getSeconds(), //秒
      'q+': Math.floor((value.getMonth() + 3) / 3), //季度
      S: value.getMilliseconds(), //毫秒
    };
    if (/(y+)/.test(fmt))
      fmt = fmt.replace(
        RegExp.$1,
        (value.getFullYear() + '').substr(4 - RegExp.$1.length)
      );
    for (var k in o)
      if (new RegExp('(' + k + ')').test(fmt))
        fmt = fmt.replace(
          RegExp.$1,
          RegExp.$1.length === 1
            ? o[k]
            : ('00' + o[k]).substring(('' + o[k]).length)
        );
    return fmt;
  }
}
